A cache is a memory device that transparently stores copies of certain main memory locations such that future requests for data stored in those memory locations may be satisfied more efficiently: if the requested data is found in the cache, the request is handled by reading the cache, which is comparatively faster than reading the main memory. Certain processors have multiple independent caches, including instruction and data caches, where the data cache is usually organized as a hierarchy of multiple cache levels.